\chapter{Aufgabenstellung}
\label{cha:aufgabenstellung}

\section{Ausgangslage}
\label{sec:ausgangslage}
In einer Seminararbeit habe ich mich intensiv mit Browsererweiterungen für den Mozilla Firefox auseinandergesetzt. Im speziellen habe ich mich mit dem \gls{ubiquity}"=Projekt der Mozilla Labs befasst.
\gls{ubiquity} ist eine Konsolen-Erweiterung für den Mozilla Firefox, die auf pseudo-natürlicher Sprache basiert. Entwickler können \gls{ubiquity} mit eigenen \gls{ubiquity}"=Kommandos erweitern. Die \gls{ubiquity}"=Erweiterung bietet eine JavaScript-Schnittstelle zum Entwickeln von eigenen Kommandos an. Der Kommando-Entwickler implementiert die Schnittstelle und bestimmt Verhalten und Aussehen des Kommandos. Grundsätzlich stehen dem Entwickler sämtliche Möglichkeiten offen, die sich mittels JavaScript, \acrshort{html} (\acrlong{html}) und \acrshort{css} (\acrlong{css}) umsetzen lassen.

Zurzeit gibt es eine Vielzahl an Kommandos, die von Entwicklern aus der ganzen Welt entwickelt wurden. Mit dem Twitter-Kommando lässt sich zum Beispiel der aktuelle Tweet von Barack Obama lesen, mit dem \acrshort{sbb}"=Kommando (\acrlong{sbb}) kann ich schnell und effizient die nächste Zugverbindung zwischen Zürich und Bern suchen und mit dem Google Mail-Kommando kann ich ein Email an meine Freunde schicken.

Bereits im Review dieser Seminararbeit kam ich zum Schluss, dass eine solche Erweiterung für alle Browsernutzer interessant sein könnte.

\section{Ziele der Arbeit}
\label{sec:ziele_der_arbeit}
Konzeption und Lösungsvorschlag für eine browserunabhängige Erweiterung, die es Entwicklern erlaubt, die Funktionalität der Erweiterung um beliebige Kommandos zu erweitern. Die Kommandos müssen in pseudo-natürlicher Sprache abgesetzt werden können.

\section{Aufgabenstellung}
\label{sec:aufgabenstellung}
Basierend auf der Ausgangslage soll im Rahmen dieser Bachelorarbeit die Machbarkeit für eine browserunabhängige Erweiterung untersucht und geprüft werden. Die Funktionalität dieser Erweiterung soll sich mittels beliebigen Kommandos erweitern lassen. Die Kommandos sollen in pseudo-natürlicher Sprache abgesetzt werden können. 

\begin{itemize}
  \item \textbf{Analyse und Anforderungen:}
        \begin{compactitem}
           \item{Analyse zur Verteilung der Marktanteile im Browsermarkt.}
           \item{Aufarbeitung und Zusammenfassung der populärsten Browser"=Erweiterungen und deren Architekturen.}
           \item{Formulieren von Anforderungen für die browserunabhängige Erweiterung.}
        \end{compactitem}
  \item \textbf{Konzept:} Konzeption und Design für eine browserunabhängige Erweiterung, unter Beachtung der geforderten Anforderungen.
  \item \textbf{Proof of Concept:} Proof of Concept in Form eines Prototyps für mindestens drei unterschiedliche Browser.
  \item \textbf{Fazit:} Überprüfung und Bewertung der Fragestellungen anhand des erarbeiteten Lösungsvorschlags.
\end{itemize}

\section{Erwartete Resultate}
\label{sec:erwartete_resultate}
Die erwarteten Resultate dieser Bachelorthesis sind:
\begin{enumerate}
   \item{Marktanalyse zu Browsern}
   \item{Übersicht über die unterschiedlichen Architekturen einzelner Browser"=Erweiterungen}
   \item{Anforderungsanalyse für die browserunabhängige Erweiterung}
   \item{Konzeption und Lösungsvorschlag}
   \item{Prototypen als Proof of Concept}
   \item{Überprüfung und Fazit}
\end{enumerate}

\section{Abgrenzung der Arbeit}
\label{sec:abgrenzung_der_arbeit}
Das Ziel der Bachelorthesis ist die konzeptionellen Erarbeitung der Problemstellung aus \autoref{cha:aufgabenstellung}. Der Schwerpunkt liegt auf der korrekten und naturwissenschaftliche Vorgehensweise und der objektiven Überprüfung und Bewertung der erarbeiteten Teilresultate. Bei der Implementation des Konzepts handelt es sich lediglich um ein Proof of Concept in Form eines Prototyps, der die Machbarkeit des erarbeitete Lösungsvorschlags belegt.